package Z006ClassAndObject.CO0011ShuXingStart;

public class ShuXingCSH {
}

// 对象属性初始化
class Hero {
    public String name = "some hero"; // 声明同时初始化
    protected float hp ;
    float maxHP ;

    {
        maxHP = 200; // 初始化
    }

    public Hero(){
        hp = 100;  // 构造方法中初始化
    }
}

class Hero2{
    public String name ;
    protected float hp ;
    float maxHP;

    public static int itemCapacity = 8 ;

    static{
        itemCapacity = 6;
    }

    public Hero2() {}

    public static void main(String[] args){
        System.out.println(Hero2.itemCapacity);
    }
}


// 练习
// 对象属性的初始化有三种方式
// 故意把初始化块，放在构造方法下面，问题：
// 这三种方式，谁先执行？谁后执行

//class Hero3{
//    public String name = "some hero";
//
//    public Hero3(){
//        name = "one hero";
//    }
//    {
//        name = "two hero";
//    }
//}